function Mascara(obj,funcao,opcao){
	v_obj		= obj;
	v_fun		= funcao;
	v_opc		= opcao;
	setTimeout("execmascara()",0);
}

/*Fun��o que Executa os objetos*/
function execmascara(){
	v_obj.value	= v_fun(v_obj.value, v_opc);
}

/*Fun��o que permite apenas numeros*/
function Integer(v){
	return v.replace(/\D/g,"");
}

/*Fun��o que padroniza telefone (11) 4184-1241*/
function Telefone(v){
	v=v.replace(/\D/g,"");
	v=v.replace(/^(\d\d)(\d)/g,"($1) $2");
	v=v.replace(/(\d{4})(\d)/,"$1-$2");
	return v;
}

/*Fun��o que padroniza telefone (11) 41841241*/
function TelefoneCall(v){
	v=v.replace(/\D/g,"");
	v=v.replace(/^(\d\d)(\d)/g,"($1) $2");
	return v;
}

/*Fun��o que padroniza CPF*/
function Cpf(v){
	v=v.replace(/\D/g,"");
	v=v.replace(/(\d{3})(\d)/,"$1.$2");
	v=v.replace(/(\d{3})(\d)/,"$1.$2");
	v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2");
	return v;
}

/*Fun��o que padroniza CEP*/
function Cep(v){
	v=v.replace(/\D/g,"");
	v=v.replace(/^(\d{5})(\d)/,"$1-$2");
	return v;
}

/*Fun��o que padroniza CNPJ*/
function Cnpj(v){
	v=v.replace(/\D/g,"");
	v=v.replace(/^(\d{2})(\d)/,"$1.$2");
	v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3");
	v=v.replace(/\.(\d{3})(\d)/,".$1/$2");
	v=v.replace(/(\d{4})(\d)/,"$1-$2");
	return v;
}

/*Fun��o que permite apenas numeros Romanos*/
function Romanos(v){
	v=v.toUpperCase();
	v=v.replace(/[^IVXLCDM]/g,"");
	
	while(v.replace(/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,"")!="")
		v=v.replace(/.$/,"");
	return v;
}

/*Fun��o que padroniza o Site*/
function Site(v){
	v=v.replace(/^http:\/\/?/,"");
	dominio=v;
	caminho="";
	
	if(v.indexOf("/")>-1)
		dominio=v.split("/")[0];
	
	caminho=v.replace(/[^\/]*/,"");
	dominio=dominio.replace(/[^\w\.\+-:@]/g,"");
	caminho=caminho.replace(/[^\w\d\+-@:\?&=%\(\)\.]/g,"");
	caminho=caminho.replace(/([\?&])=/,"$1");
	
	if(caminho!="")
		dominio=dominio.replace(/\.+$/,"");
	
	v="http://"+dominio+caminho;
	return v;
}


//Fun��o para retirar os espa�os em branco do inicio da string
function lTrim(v){
	v=v.replace(/^\s+/,"");
	return v;
}

//Fun��o para retirar os espa�os em branco do fim da string
function rTrim(v){
	v=v.replace(/\s+$/,"");
	return v;
}

/*Fun��o que padroniza DATA*/
function Data(v){
	v=v.replace(/\D/g,"");
	v=v.replace(/(\d{2})(\d)/,"$1/$2");
	v=v.replace(/(\d{2})(\d)/,"$1/$2");
	return v;
}

/*Fun��o que padroniza HORA*/
function Hora(v){
	v=v.replace(/\D/g,"");
	v=v.replace(/(\d{2})(\d)/,"$1:$2");
	return v;
}

//Fun��o para retirar os espa�os em branco do inicio e fim da string
function Trim(v){
	v=v.replace(/\s+/g," "); // elimina sequ�ncias de espa�os
	v=v.replace(/^ /,""); //inicio de linha
	v=v.replace(/ $/,""); //fim de linha
	return v;
}

/*Fun��o que padroniza valor mon�tario*/
function Valor(v, d){
	var d = (d) ? d : 2;
	v=v.replace(/\D/g,"");												//permite digitar apenas n�meros
	v=v.replace(new RegExp("[0-9]{" + (13+d) + "}"),"");				//limita pra m�ximo 999.999.999.999,d
	v=v.replace(new RegExp("(\\d{1})(\\d{" + (9+d) + "})$"),"$1.$2");	//coloca ponto antes dos �ltimos 9 + d digitos
	v=v.replace(new RegExp("(\\d{1})(\\d{" + (6+d) + "})$"), "$1.$2");	//coloca ponto antes dos �ltimos 6 + d digitos
	v=v.replace(new RegExp("(\\d{1})(\\d{" + (3+d) + "})$"), "$1.$2");	//coloca ponto antes dos �ltimos 3 + d digitos
	v=v.replace(new RegExp("(\\d{1})(\\d{1," + d + "})$"), "$1,$2");	//coloca virgula antes dos �ltimos d digitos
	return v;
}

/*Fun��o para substituir caracteres com acentua��o e bloqueio de caracteres especiais de acordo com a op��o*/
function strReplaceChr(v, o){
	var charOK		= '';
	var charNOK		= /[�����������������������]/gi;
	var char_NOK	= '�����������������������';
	var char_OK		= 'AEIOUAEIOUAEIOUAEIOUAOC';
	var aux			= '';
	
	switch (o){
		case "AdNum":
			charOK = /[A-Z0-9 *��\-]/gi;
			break;
		case "OnlyNum":
			charOK = /[0-9]/gi;
			break;
		case "OnlyAlfas":
			charOK = /[A-Z ]/gi;
			break;
		case "AlfasNum":
			charOK = /[A-Z0-9 ]/gi;
			break;
		case "AlfaNum":
			charOK = /[A-Z0-9]/gi;
			break;
		case "AlfaNchar":
			charOK = /[A-Z0-9 !@#$%*()._��,+\-]/gi;
			break;
		case "Email":
			charOK = /[A-Z0-9 @._�\-]/gi;
			break;
		case "Emissor":
			charOK = /[A-Z //-]/gi;
			break;
		default:
			charOK = /[A-Z *��\-]/gi;
	}
	
	if (o == "login"){
		v = v.toLowerCase();
	}else{
		v = v.toUpperCase();
	}
	
	for(i = 0; i < v.length; i++){
		if(v.charAt(i).match(charNOK))
			aux += char_OK.substr(char_NOK.search(v.charAt(i)),1)
		else if(v.charAt(i).match(charOK))
			aux += v.charAt(i);
	}
	aux = lTrim(aux);
	return aux;
}

/*Fun��o que padroniza Formato da Declara��o*/
function FormataDeclaracao(v){
	v=v.replace(/\D/g,"");
	if (v.length > 8){
		v=v.replace(/(\d{2})(\d)/,"$1-$2");
		v=v.replace(/(\d{8})(\d)/,"$1-$2");
	}
	
	return v;
}